A Semantics-Aware Editing Environment for Prolog in Eclipse
نویسندگان
چکیده
The open-source Eclipse platform has become hugely popular as an integrated development environment (IDE) for Java, mainly because of its editing features. The Java IDE comes with code highlighting, hover information, code completion, quick fixes and many more. It supports the development process by highlighting problematic aspects of the code and providing a convenient and robust way to improve it using refactorings. All those features have a common goal: let the user stay focused on his task, writing code. It would be very useful for the logic programming community to obtain an IDE with similar features for the development of Prolog programs. However, writing an industrial strength integrated development environment like Eclipse for another language from scratch is a very difficult and complex task. Fortunately, in previous work we have developed BE4 [3], a framework for building semantic aware editors built on top of Eclipse and the Rigorous Open Development Environment for Complex Systems (RODIN). BE4 contains a reliable, multi phase build process that can be used for arbitrary languages. The build process was designed with the purpose of integrating different tools, even proprietary compilers into BE4. In particular, it is not restricted to Java. BE4 also contains a toolset to implement state-of-the-art editors, providing features such as syntactic and semantic highlighting, code completion, outline view, hover information, quick fixes and semantic checks. Finally BE4 already comes with language plug-ins for classical B, CSP, Promela and SableCC, and a such its applicability has already been tested on a variety of source languages. In this paper we present a Prolog plugin for Eclipse based upon BE4, and providing many features such as semantic-aware syntax highlighting, outline view, error marking, content assist, hover information, documentation generation, and quick fixes. The plugin makes use of a Java parser for full Prolog with an integrated Prolog engine, and can be extended with further semantic analyses, e.g., based on abstract interpretation.
منابع مشابه
Posh - The Prolog OWL Shell
Two of the most common ways of processing and manipulating OWL ontologies are through an ontology editing environment (e.g. Protege or TopBraid) or via a programmatic interface, such as the OWL API. A complementary method is to use an OWL-aware command line shell. Posh, the Prolog OWL Shell is an interactive toplevel readeval-print-loop interface that provides powerful capabilities for querying...
متن کاملNoMoRe : Non-monotonic Reasoning with Logic Programs
The non-monotonic reasoning system noMoRe [2] implements answer set semantics for normal logic programs. It realizes a novel, rule-based paradigm to compute answer sets by computing non-standard graph colorings of the block graph associated with a given logic program (see [6, 8, 7] for details). These non-standard graph colorings are called a-colorings or application-colorings since they reflec...
متن کاملExtensible Search with Hookable Disjunction
Horn Clause Programs have a natural depth-first procedural semantics. However, for many programs this procedural semantics is ineffective. In order to compute useful solutions, one needs the ability to modify the search method that explores the alternative execution branches. Tor, a well-defined hook into Prolog disjunction, provides this ability. It is light-weight thanks to its library approa...
متن کاملTor: Modular search with hookable disjunction
Horn Clause Programs have a natural exhaustive depth-first procedural semantics. However, for many programs this semantics is ineffective. In order to compute useful solutions, one needs the ability to modify the search method that explores the alternative execution branches. Tor, a well-defined hook into Prolog disjunction, provides this ability. It is light-weight thanks to its library approa...
متن کاملDesigning a Development Environment for Logic and Multi-Paradigm Programming
The Eclipse platform has been extended to provide integrated development environments for many different languages and systems. Declarative programming, however, and in particular logic languages, has still to benefit from the state-of-the-art Eclipse infrastructure supporting a huge number of development activities. We set out to design an environment for logic programming built around tuProlo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/0903.2252 شماره
صفحات -
تاریخ انتشار 2008